<?php
/* === захист  фільрація  вхідних даних від користувача ===*/
    function clear($var){
        $var=mysql_real_escape_string(strip_tags(trim($var)));
        return $var;
    }
/* === захист  фільрація  вхідних даних від користувача ===*/



// тут пошук імені автора в зареєстрованих в бд
function poiskAvtor($name) {
    $zap="SELECT * FROM avtor WHERE avtor_name='$name'";
    $row=mysql_fetch_assoc(mysql_query($zap));
    //print_r($row);
    return ($row);    
} 

// тут пошук імені автора в зареєстрованих в бд
function poiskEmail($email) {
    $zap="SELECT * FROM avtor WHERE avtor_email='$email'";  
    $row=mysql_fetch_assoc(mysql_query($zap));
    //print_r($row);
    return ($row);    
} 

// тут додавання нового автора в бд
function addNewAvtor($name,$pass1,$email) {
    $zap="INSERT INTO avtor(avtor_name, avtor_pass, avtor_email)VALUE('$name', '$pass1', '$email')";
    $rez=mysql_query($zap);
    
    //провірка чи виконався скл запит
    if (mysql_affected_rows()>0) {
        return true;        
    } else {
        return false;
    }
}

// тут пошук ID НОВОГО-ДОДАНОГО автора в бд
function poiskIdNewAvtor($name) {
    $zap="SELECT `avtor_id` FROM avtor WHERE avtor_name='$name'";  
    $row=mysql_fetch_assoc(mysql_query($zap));
    //print_r($row);
    return ($row);
} 

//тут функція для провірки правельності заповнення емейлу на значок "@"
//шукає пропущений значок "@"
function is_email($email) {
    
    if (!preg_match( '/^[A-Za-z0-9!#$%&\'*+-\/=?^_`{|}~]+@[A-Za-z0-9-]+(\.[AZa-z0-9-]+)+[A-Za-z]$/', $email))
     {
    return false;
    } else {
    return true;
    }
}

//показ всіх  авторів
function showAllAvtor() {
    $zap="SELECT * FROM avtor ORDER BY avtor_name";
    $rez=mysql_query($zap);
    
    $data=array();
    while ($row=mysql_fetch_assoc($rez)) {
        $data[]=$row;
    }
    return $data;
}

// тут показ одного автора
function showAvtor($avtor_id) {
    $zap="SELECT * FROM avtor WHERE avtor_id=$avtor_id";
    $rez=mysql_query($zap);
    
    $row=mysql_fetch_assoc($rez);
    return $row;    
} 

//тут змін а даних про абонента


function editAvtor($id,$name,$pass,$email) {
    $zap="UPDATE avtor SET avtor_name='$name', avtor_pass='$pass', avtor_email='$email' WHERE avtor_id=$id";
    $rez=mysql_query($zap);
    
    //return $rez;
    
    if (mysql_affected_rows()>0) {
        return true;        
    } else {
        return false;
    }
}

// тут видалення одного автора
function deleteAvtor($avtor_id) {
    $zap="DELETE FROM `avtor` WHERE avtor_id=$avtor_id";
    $rez=mysql_query($zap);
    //return $rez;
    if (mysql_affected_rows()>0) {
        return true;        
    } else {
        return false;
    }
}

 

//показ всіх новин за  ЦЕЙ місяць
function showNewNews($perpages, $start_position) {
    //$zap="select `news_title`, `news_contents`,`news_date`,`news_id` from news where `news_date`>='2014-11-01' order by `news_date` DESC";
    
    $zap="SELECT `news_title`, `news_contents`,`news_date`,`news_id`, `news_kategory` from news order by `news_date` DESC LIMIT $start_position, $perpages";
    $rez=mysql_query($zap);
    
    $data=array();
    while ($row=mysql_fetch_assoc($rez)) {
        $data[]=$row;
    }
    return $data;
}

//показ всіх новин за  ПОПЕРЕДНІЙ місяць
function showOldNews() {
    $zap="select `news_title`, `news_contents`, `news_date`, `news_id` from news where `news_date`<='2014-11-01' order by `news_date` DESC";
    $rez=mysql_query($zap);
    
    $data=array();
    while ($row=mysql_fetch_assoc($rez)) {
        $data[]=$row;
    }
    return $data;
}


//обрізка тексту по словах
function textOdrizka( $str, $maxLen )
	{
	if ( mb_strlen( $str ) > $maxLen )
		{
		preg_match( '/^.{0,'.$maxLen.'} .*?/ui', $str, $match );
		return $match[0].'...';
		}
	else {
		return $str;
		}
	}

// тут вивід однієї новини
function showFullNews($id) {
    $zap="SELECT * FROM news WHERE news_id='$id'";
    $rez=mysql_query($zap);
    
    $masiv_news=mysql_fetch_assoc($rez);
    return $masiv_news;    
}

//показ всіх коментарів до новини Вибнаної (зареєстрованих авторів і гостьові кометарі')
function showCommNews($id) {

$zap = "select `comment_date`, `comment_info`, `avtor_name`,comments.avtor_id_comm,news_id, 
comment_id,comments.comment_name_avtor 
from comments, avtor 
where (comments.avtor_id_comm=avtor.avtor_id or comments.avtor_id_comm=0) and news_id=$id
group by comment_id ORDER BY `comment_date` DESC";

    //echo $zap;
    $rez=mysql_query($zap);
    
    $data=array();
    while ($row=mysql_fetch_assoc($rez)) {
        $data[]=$row;
    }
    return $data;
}

// тут додавання нового коментаря до новини від гостя сайту
function addNewCommentGuest($news_id,$comment_info,$comment_name_avtor) {
    $zap="INSERT INTO comments (`news_id`, `comment_date`, `comment_info`, `comment_name_avtor`)VALUE($news_id, NOW(), '$comment_info', '$comment_name_avtor')";

    $rez=mysql_query($zap);
    //провірка чи виконався скл запит
    if (mysql_affected_rows()>0) {
        return true;        
    } else {
        return false;
    }
}

// тут додавання нового коментаря до новини від Автора
function addNewCommentAvtor($avtor_id_comm, $news_id, $comment_info) {
    
    $zap="INSERT INTO comments (`avtor_id_comm`, `news_id`, `comment_date`, `comment_info`)VALUE($avtor_id_comm, $news_id, NOW(), '$comment_info')";

    $rez=mysql_query($zap);
    //провірка чи виконався скл запит
    if (mysql_affected_rows()>0) {
        return true;        
    } else {
        return false;
    }
}

// тут пошук своєї оцінки за новину
function  showAvtorRating($id_news, $user_id) {
    $zap="SELECT * FROM rating WHERE avtor_id_rating=$user_id and news_id=$id_news";
        
    $rez=mysql_query($zap);
    
    $masiv_news=mysql_fetch_assoc($rez);
    return $masiv_news;    
}


function addNewRating($rating_bal, $avtor_id_rating, $news_id) {
    $zap="INSERT INTO rating (`avtor_id_rating`, `news_id`, `rating_date`, `rating_bal`)VALUE($avtor_id_rating, $news_id, NOW(), '$rating_bal')";
    
    
    $rez=mysql_query($zap);
    //провірка чи виконався скл запит
    if (mysql_affected_rows()>0) {
        return true;        
    } else {
        return false;
    }
}

// тут видалення однієї оцінки
function deleteRatingNews($rating_id) {
    $zap="DELETE FROM `rating` WHERE rating_id=$rating_id";
    $rez=mysql_query($zap);
    
    if (mysql_affected_rows()>0) {
        return true;        
    } else {
        return false;
    }
}

// тут підрахунок кількості оцінок
function ratingCount($id_news) {
    $zap="SELECT count(news_id) FROM rating WHERE news_id=$id_news";
    
    $rez=mysql_query($zap);
    
    $masiv_news=mysql_fetch_assoc($rez);
    return $masiv_news;    
}


// тут підрахунок кількості оцінок
function ratingAvg($id_news) {
    $zap="SELECT avg(rating_bal) FROM rating WHERE news_id=$id_news";
    
    $rez=mysql_query($zap);
    
    $masiv_news=mysql_fetch_assoc($rez);
    return $masiv_news;    
}

function fotoNews($id_news) {
    $zap="SELECT * FROM `foto` WHERE news_id=$id_news";
    $rez=mysql_query($zap);
    
    $masiv_news=mysql_fetch_assoc($rez);
    return $masiv_news;
}

/////

// тут показ всіх статей від одного автора
function showAllNewsAvtor($user_id) {
    $zap="select `news_title`, `news_contents`,`news_date`,`news_id` from news where `avtor_id`=$user_id  order by `news_date` DESC";
    $rez=mysql_query($zap);
    
    $data=array();
    while ($row=mysql_fetch_assoc($rez)) {
        $data[]=$row;
    }
    return $data;
}

function editNewsAvtor($id, $zag, $tilo) {
    $zap="UPDATE `news` SET `news_title`='$zag', `news_contents`='$tilo' WHERE `news_id`='$id'";
      
    $rez=mysql_query($zap);
    
    if (mysql_affected_rows()>0) {
        return true;        
    } else {
        return false;
    }
}

// тут видалення одного автора
function deleteNews($id_news) {
    $zap="DELETE FROM `news` WHERE `news_id`=$id_news";
    $zap2="DELETE FROM `foto` WHERE `news_id`=$id_news";
    //echo $zap;
    
    $rez=mysql_query($zap);
    //$rez=mysql_query($zap2);
    //return $rez;
    if (mysql_affected_rows()>0) {
        return true;        
    } else {
        return false;
    }
}

function AvtorName($user_id) {
    $zap="SELECT * FROM `avtor` WHERE `avtor_id`=$user_id";
    $rez=mysql_query($zap);
    
    $masiv_news=mysql_fetch_assoc($rez);
    return $masiv_news;
}

function addNewNews($avtor_id, $zag, $tilo,$news_kategoryya) {
    $zap="INSERT INTO `news` (`avtor_id`, `news_title`, `news_contents`, `news_date`,`news_kategory`) VALUE ('$avtor_id', '$zag','$tilo', NOW(),'$news_kategoryya');";
 
     $rez=mysql_query($zap);
    //провірка чи виконався скл запит
    if (mysql_affected_rows()>0) {
        return true;        
    } else {
        return false;
    }
}


//
//показ всіх новин за категорією 
function showNewNewsKa($news_kategory, $perpages, $start_position) {
    $zap="SELECT * from news where `news_kategory`='$news_kategory' order by `news_date` DESC LIMIT $start_position, $perpages";
    
    $rez=mysql_query($zap);
    
    $data=array();
    while ($row=mysql_fetch_assoc($rez)) {
        $data[]=$row;
    }
    return $data;
}


//показ всіх новин за сьогодні 
function showNewNewsDa($news_date, $perpages, $start_position) {

    
  //$zap=" SELECT `news_title`, `news_contents`,`news_date`,`news_id`,`news_kategory` from news where`news_date`='$news_date' LIMIT $start_position, $perpages ";
    $zap=" SELECT `news_title`, `news_contents`,`news_date`,`news_id`,`news_kategory` FROM news WHERE`news_date`='$news_date' LIMIT $start_position, $perpages ";
    

    $rez=mysql_query($zap);
    
    $data=array();
    while ($row=mysql_fetch_assoc($rez)) {
        $data[]=$row;
    }
    return $data;
}

function showAllNews() {
    $zap="select `news_title`, `news_contents`,`news_date`,`news_id` from news order by `news_date` DESC";
    $rez=mysql_query($zap);
    
    $data=array();
    while ($row=mysql_fetch_assoc($rez)) {
        $data[]=$row;
    }
    return $data;
}

//тут видалення фото з статті
function deleteNewsFoto($id_news){
    $zap="DELETE FROM `foto` WHERE `news_id`=$id_news";
    //echo $zap;
    $rez=mysql_query($zap);
    
    if (mysql_affected_rows()>0) {
        return true;        
    } else {
        return false;
    }
}

//тут приєднання новина+фото
function addNewFoto($id_news, $file_name){
    $zap="INSERT INTO `foto` (`news_id`, `foto_fname`) VALUE ($id_news, '$file_name');";
    
    $rez=mysql_query($zap);
    //провірка чи виконався скл запит
    if (mysql_affected_rows()>0) {
        return true;        
    } else {
        return false;
    }
    
}

//тут рахую скільки є статей-новин на задану категорію
function countNewsKa($news_kategory){
    $zap="SELECT COUNT(news_id) as count_rows from news where `news_kategory`='$news_kategory'";
    
    $res = mysql_query($zap) or die (mysql_error());                        
        
        while($row = mysql_fetch_assoc($res)){
            if($row['count_rows']){
                $count_rows = $row['count_rows'];
            }
        }
        return $count_rows;
}

//тут рахую скільки є статей-новин Всього у хронологычному порядку
function countNewsAll(){
    $zap="SELECT COUNT(news_id) as count_rows from news ";
    
    $res = mysql_query($zap) or die (mysql_error());                        
        
        while($row = mysql_fetch_assoc($res)){
            if($row['count_rows']){
                $count_rows = $row['count_rows'];
            }
        }
        return $count_rows;
    }

//тут рахую скільки є статей-новин за  сьогодні

function countNewsDate($news_date){
    $zap="SELECT COUNT(news_id) as count_rows from news where`news_date`='$news_date'";

    $res = mysql_query($zap) or die (mysql_error());                        
        
        while($row = mysql_fetch_assoc($res)){
            if($row['count_rows']){
                $count_rows = $row['count_rows'];
            }
        }
        return $count_rows;
    }
    
    

   

/* === пошук новини на сайті === */
function search_news($search){
    
$result_search = array(); //результат поиска

if(mb_strlen($search, 'UTF-8') < 4){
$result_search['notfound'] = "<div class='error'>Пошуковий запит має складати не менше 4-х символів</div>";
}else{
    $query = "SELECT *
                FROM news
                    WHERE MATCH(news_contents) AGAINST('{$search}*' IN BOOLEAN MODE)";
    $res = mysql_query($query) or die(mysql_error());
    
    if(mysql_num_rows($res) > 0){
        while($row_search = mysql_fetch_assoc($res)){
            $result_search[] = $row_search;
        }
    }else{
        $result_search['notfound'] = "<div class='error'>По Вашому запиту нічого не знайдено</div>";
    }
}   

return $result_search;
}

/* === ПОКАЗ новини на сайті === */
function showSearch_news($search, $perpages, $start_position ){
    
$result_search = array(); //результат поиска

if(mb_strlen($search, 'UTF-8') < 4){
$result_search['notfound'] = "<div class='error'>Пошуковий запит має складати не менше 4-х символів</div>";
}else{
    $query = "SELECT *
                FROM news
                    WHERE MATCH(news_contents) AGAINST('{$search}*' IN BOOLEAN MODE) LIMIT $start_position, $perpages";
    $res = mysql_query($query) or die(mysql_error());
    
    if(mysql_num_rows($res) > 0){
        while($row_search = mysql_fetch_assoc($res)){
            $result_search[] = $row_search;
        }
    }else{
        $result_search['notfound'] = "<div class='error'>По Вашому запиту нічого не знайдено</div>";
    }
}   

return $result_search;
}













    
//тут рахую скільки є статей-новин за ПОШУКОМ
function countNewsSearch($search){
    $zap="SELECT COUNT(news_id) as count_rows
                FROM news
                    WHERE MATCH(news_contents) AGAINST('{$search}*' IN BOOLEAN MODE)";
    
    $res = mysql_query($zap) or die (mysql_error());                        
        
        while($row = mysql_fetch_assoc($res)){
            if($row['count_rows']){
                $count_rows = $row['count_rows'];
            }
        }
        return $count_rows;
    }
    
    
    
    
    
    
    
    
    
    
    
    
?>